package com.csun.cmny.provider.service;

import com.csun.cmny.base.dto.LoginAuthDto;
import com.csun.cmny.core.support.IService;
import com.csun.cmny.provider.model.domain.DmcCsunGatewayLocation;
import com.csun.cmny.provider.model.dto.gateway.BindCsunGatewayLocationDto;
import com.csun.cmny.provider.model.dto.gateway.CsunGatewayQueryDto;
import com.csun.cmny.provider.model.dto.gateway.GatewayBindDto;
import com.csun.cmny.provider.model.vo.GatewayReqVo;
import com.csun.cmny.provider.model.dto.propertyManagement.SelectDeviceDataDto;
import com.csun.cmny.provider.model.vo.life.DmcDeviceByRoom;
import com.csun.cmny.provider.model.vo.propertyManagement.PropertyDataVo;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * @Auther: chisj chisj@foxmal.com
 * @Date: 2019-09-02 14:14
 * @Description: the interface dmc csun camera location service
 */
public interface DmcCsunGatewayLocationService extends IService<DmcCsunGatewayLocation> {


    Integer bind(BindCsunGatewayLocationDto bindCsunGatewayLocationDto, LoginAuthDto loginAuthDto);

    Integer untied(Long deviceId);

    PageInfo queryDeviceListWithPage(CsunGatewayQueryDto csunGatewayQueryDto);

    DmcDeviceByRoom selectRoomIdByDeviceId(Long alertId);

    List<PropertyDataVo> selectDeviceData(SelectDeviceDataDto selectDeviceDataDto);

    /**
     * 根据房间Id查询网关
     *
     * @param roomIdList the room id list
     *
     * @return the gateway req vo
     */
    List<GatewayReqVo> queryGatewayByRoomIds(List<Integer> roomIdList);
}
